package com.ls.controller.product.model;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @ClassName AddProductModel
 * @Description 新增套餐model
 * @Author pengyu
 * @Date 2024/6/27 17:14
 * @Version 1.0
 **/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class AddProductModel {
    /**
     * 产品类型：1 会员 period为会员过期月份；2 短信包
     */
    @NotNull(message = "产品类型不得为空")
    @Max(value = 3)
    @Min(value = 1)
    private Integer productType;
    /**
     * 原价
     */
    private BigDecimal oldFee;
    /**
     * 会员实际付款金额
     */
    @NotNull(message = "会员实付金额不得为空")
    private BigDecimal fee;
    /**非会员实付金额*/
    @NotNull(message = "非会员实付金额不得为空")
    private BigDecimal commonFee;
    /**
     * 套餐过期时间，1为1个月，短信套餐过期时间与会员过期时间无关
     */
    @NotNull(message = "过期时间不得为空")
    private Integer period;
    /**
     * 产品描述
     */
    @NotBlank(message = "产品描述不得为空")
    private String description;
    /**
     * 推荐状态 0 不推荐 1 推荐 默认不推荐
     */
    @NotNull(message = "推荐状态不得为空")
    @Max(value = 1)
    @Min(value = 0)
    private Integer recommendStatus;
    /**
     * 每月可发平台级别的短信数量
     */
    @NotNull(message = "短信条数不得为空")
    private Integer monthSmsQuantity;
}
